Skip to content

fix: use CPU-aware prover scheduler - #897

Open
jotabulacios wants to merge 3 commits into
mainfrom
fix/cpu-prover-scheduler
Open

fix: use CPU-aware prover scheduler#897
jotabulacios wants to merge 3 commits into
mainfrom
fix/cpu-prover-scheduler

Conversation

@jotabulacios

Copy link
Copy Markdown
Collaborator

This PR fixes the CPU proving regression introduced by the table scheduler.

The GPU scheduler uses external driver threads to admit and overlap table work. On CPU, that caused table tasks to launch nested Rayon work from outside the Rayon pool, leading to oversubscription, cache contention, and memory-bandwidth contention.

The CPU path now:

  • schedules table work through the existing Rayon pool;
  • limits table concurrency in bounded chunks; and
  • separates auxiliary-trace construction/commitment from rounds 2–4 with a CPU phase barrier.

The CUDA path and proof format are unchanged.

@jotabulacios

Copy link
Copy Markdown
Collaborator Author

/bench

@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown

Benchmark — real block (ethrex_mainnet_25368371.bin) (median of 3)

continuations · epoch 2^22 · 12 epochs

Metric main PR Δ
Peak heap 47024 MB 51649 MB +4625 MB (+9.8%) 🔴
Prove time 157.521s 137.807s -19.714s (-12.5%) 🟢

🎉 Improvement on the real block — prove time down 12.5%.

Prove-time spread 0.6% (138.162s / 137.807s / 137.367s)

Commit: 7b95345 · Baseline: cached · Runner: self-hosted bench

@jotabulacios
jotabulacios marked this pull request as ready for review August 4, 2026 20:33
@diegokingston

Copy link
Copy Markdown
Collaborator

/bench

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants